Fonction fibaro:getSourceTrigger

Code LUA HC2

fibaro:getSourceTrigger

 

Description:

Lit la valeur de Trigger (déclencheur) qui a appelé la scène

fibaro:getSourceTrigger()

Paramètres:

sans

Valeurs retournées:

Tableau contenant des informations sur trigger
Tableau retourné contient obligatoirement le «type», qui peut prendre les valeurs:

property’ – pour les déclencheurs basés sur la modification des propriétés
global’ – pour les déclencheurs basés sur la variation de la variable globale
other’ – dans d’autres cas (démarrage direct de la scène par l’interface ou l’appel d’un autre script)

Selon la valeur de «type», la table peut encore avoir des champs supplémentaires:

property

global

other

  • deviceID: Numéro ID du module qui concerne le déclencheur (trigger)
  • propertyName: Nom de propriété du module qui concerne le déclencheur (trigger)
  • varName: Le nom de la variable globale qui concerne le déclencheur (trigger)
  • pas de champs supplémentaires

Remarques:

Cette fonction peut être utilisée pour déterminer lequel des déclencheurs (trigger) a été la cause directe du script.
Dans l’exemple suivant sont définis les triggers, qui peuvent provoquer l’exécution du script:

change la valeur ‘value’ du module ID = 13
change la valeur ‘value’ du module ID = 15
modifie la variable globale ‘isItDarkOutside’

En outre, le script peut être lancé directement à partir de l’interface ou par autre scène (ex. fibaro:runScene(sceneID)).

Le script affiche les informations dans la console ‘debug’ sur l’origine de son appel:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
--[[
%% properties
13 value
15 value
 
%% globals
isItDarkOutside
–]]
 
local trigger = fibaro:getSourceTrigger();
 
if (trigger['type'] == 'property') then
  fibaro:debug('Module ID = ' .. trigger['deviceID']);
elseif (trigger['type'] == 'global') then
  fibaro:debug('Variable globale = ' .. trigger['varName']);
elseif (trigger['type'] == 'other') then
  fibaro:debug('Autre cas');
end
--[[
%% properties
13 value
15 value

%% globals
isItDarkOutside
–]]

local trigger = fibaro:getSourceTrigger();

if (trigger['type'] == 'property') then
  fibaro:debug('Module ID = ' .. trigger['deviceID']);
elseif (trigger['type'] == 'global') then
  fibaro:debug('Variable globale = ' .. trigger['varName']);
elseif (trigger['type'] == 'other') then
  fibaro:debug('Autre cas');
end

[recent_deals per_page=”12″ columns=”3″ orderby=”date” order=”desc”]

Articles Similaires

2 Thoughts to “Fonction fibaro:getSourceTrigger”

  1. […] fibaro:getSourceTrigger() fibaro:getSourceTriggerType() fibaro:startScene(sceneID) fibaro:killScenes(sceneID) […]

  2. […] Tableau contenant des informations sur trigger Tableau retourné contient obligatoirement le «type», voir les valeurs fibaro:getSourceTrigger […]

Leave a Comment


La période de vérification reCAPTCHA a expiré. Veuillez recharger la page.

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.